package com.taxshare.seller.view.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.taxshare.seller.entity.AlsCancelDetailLogEntity;
import com.taxshare.tools.annotation.CopyField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;


/**
 * @ClassName: AlsCancelInvoiceVO
 * @Description:
 * @author: hjh
 * @date: 2021/7/8 9:24
 */
@Data
public class AlsCancelInvoiceVO {
    @ApiModelProperty("uuid")
    private String uuid;

    @ApiModelProperty("Als单据ID")
    private String docId;

    @ApiModelProperty("应收/实收标识")
    private String docType;

    @ApiModelProperty("发票类型(电普、电专、普票、专票)（004 专票 007 普票  026 电子普票 028电子专票）")
    private String invoiceType;

    @ApiModelProperty("购货单位名称")
    private String purchaserName;

    @ApiModelProperty("购货单位纳税人识别号（只能是字母或数字）")
    private String purchaserTaxNo;

    @CopyField(targetName = "purchaserAddressTel")
    @ApiModelProperty("购货单位地址电话（最多50汉字100字符）")
    private String purchaserTelAddress;

    @CopyField(targetName = "purchaserBankAccount")
    @ApiModelProperty("购货单位开户行和银行账号（最多50汉字100字符）")
    private String purchaserBank;

    @ApiModelProperty("销方名称")
    private String sellerName;

    @ApiModelProperty("销方税号（只能是字母或数字）")
    private String sellerTaxNo;

    @CopyField(targetName = "sellerAddressTel")
    @ApiModelProperty("销方地址、电话（最多50汉字100字符）")
    private String sellerTelAddress;

    @CopyField(targetName = "sellerBankAccount")
    @ApiModelProperty("销方开户行及账号（最多50汉字100字符）")
    private String sellerBank;

    @CopyField(targetName = "totalSum")
    @ApiModelProperty("不含税金额（默认为0，小数点后2位，以元为单位精确到分）")
    private String amountWithoutTax;

    @CopyField(targetName = "totalTax")
    @ApiModelProperty("税额（默认为0，小数点后2位，以元为单位精确到分）")
    private String taxAmount;

    @CopyField(targetName = "totalSumTax")
    @ApiModelProperty("含税金额（默认为0，小数点后2位，以元为单位精确到分）")
    private String amountWithTax;

    @CopyField(targetName = "payee")
    @ApiModelProperty("收款人")
    private String receiver;

    @CopyField(targetName = "reviewer")
    @ApiModelProperty("复核人")
    private String auditor;

    @CopyField(targetName = "drawer")
    @ApiModelProperty("开票人")
    private String invoicer;

    @CopyField(targetName = "phone")
    @ApiModelProperty("备注")
    private String remark;

    @CopyField(targetName = "mailBox")
    @ApiModelProperty("电子邮箱（电票需要填）")
    private String email;

    @CopyField(targetName = "phone")
    @ApiModelProperty("手机号码（电票需要填）")
    private String mobile;

    @CopyField(targetName = "cancelReason")
    @ApiModelProperty("驳回理由")
    private String message;

    @ApiModelProperty("明细")
    private List<AlsCancelDetailLogVO> alsCancelDetailLogVOList;
}
